2023/12/231445字符

基本配置

const path = require("path");

module.exports = {
    watch: true,  // 监听文件变化
    entry: {
        main: "./src/index.js",  // 入口文件
        init: ["./src/aaa.js", "./src/bbb.js"]
    },
    output: {
        // path: path.resolve(__dirname, "dist"),  // 自定义输出目录
        filename: "[name]-[hash:8].js"  // 出口文件
                        // :8  取前8位hash值
                        // [chunkhash]  生成单独的 hash 值
    },

    // 源码镜像
    devtool: "eval-source-map",  // https://www.webpackjs.com/configuration/devtool/
    
    // loader
    module: {
        rules: [  // 匹配规则
            {
                test: /\.css$/,
                use: ["./loaders/js"]
            }
        ],
        noParse: /jquery/,  // 忽略打包模块,通常指大型库、框架(只对单模块有效)
    },

    // webpack-dev-server 专用配置
    devServer: {
        port: 5500,  // 端口号
        open: true,  // 自动打开浏览器
        hot: true,  // 热替换
        port: {  // 代理
            "/api": {
                target: "https://open.duyiedu.com",  // 包含 /api 就请求该地址
                changeOrigin: true  // 更改请求头的 host 和 origin
            }
        },
        stats: {
            modules: false  // 禁止输出 modules 内容
        }
    }
}